// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.system.service;

import com.liuxinlong.modules.entity.UserRoleRelation;

import java.util.List;
import java.util.Map;

/**
 * 用户角色权限service接口
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022年2月16日
 */
public interface RoleRightService {
    /**
     * 查询用户角色权限
     *
     * @param roleId 用户角色id
     * @return 用户角色权限
     */
    List<String> queryRoleRight(String roleId);

    /**
     * 更新用户角色权限
     */
    void updateRoleRight(String roleId, List<String> rightList);

    /**
     * 查询用户角色权限信息
     *
     * @param userId 用户id
     * @return 用户角色权限列表
     */
    Map<String, Object> queryRoleRightNames(String userId);

    /**
     * 验证用户角色权限
     *
     * @param roleRelationList 角色关联信息
     * @param url              菜单路径
     * @return 验证结果
     */
    boolean checkPermission(List<UserRoleRelation> roleRelationList, String url);
}
